/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package socafeclient;

/**
 *
 * @author wakowa
 */
import entity.Productos;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import javax.swing.table.AbstractTableModel;

public class TableModelProductos extends AbstractTableModel{
    private ArrayList datalist = new ArrayList();
    private String[] columns = { "idProducto", "Nombre", "Precio", "idTipoProducto"};
     
    
    public TableModelProductos(){
    }
    
    @Override
    public int getRowCount() {
        return datalist.size();
    }

    @Override
    public int getColumnCount() {
        return columns.length;
    }
    
    public Productos getProductoAt(int row) {
        return (Productos) datalist.get(row);
    }
    
    @Override
    public Object getValueAt(int row, int col){
       Productos p = (Productos) datalist.get(row);
       switch (col) {
           case 0: 
                return p.getIdproducto();
            case 1: 
                return p.getNombre();
            case 2: 
                return p.getPrecio();
            case 3: 
                return p.getIdtipoprod().getNombre();
            default:
                return false;
       }
    }
    
    @Override
    public String getColumnName(int i) {
        return columns[i];
    }

    @Override
    public boolean isCellEditable(int row, int col) 
    {
        return false;
    }
    
    public void addProductosList(List l) {
        Iterator iterador = l.listIterator();
        while(iterador.hasNext()){
            Productos p = (Productos) iterador.next();
            datalist.add(p);
        }
        fireTableDataChanged();
    }
    public TableModelProductos(List l) {
        Iterator iterador = l.listIterator();
        while(iterador.hasNext()){
            Productos p = (Productos) iterador.next();
            datalist.add(p);
        }        
    }
    
    public void clear(List l)
    {
        datalist.clear();
        addProductosList(l);
    }
    
     public Productos removeProductosAt(int row) {
        Productos p = (Productos) datalist.remove(row);
        fireTableDataChanged();
        return p;
    }
}
